package StringMatching;


/*
    字符串匹配算法 之 BF算法(暴力匹配算法)
 */
public class BF {
    public static int bf(char[] source, int srcLength, char[] target, int tgtLength) {
        for (int i = 0; i < srcLength - tgtLength; i++) {
            int j = 0;
            while (j < tgtLength) {
                //一旦遇到不相同的字符就结束循环
                if (source[i + j] != target[j]) {
                    break;
                }
                j++;
            }
            //如果是break出的循环，那肯定j肯定小于目标串的长度
            //自然结束循环的话，由于最后有一个j++，所以j等于目标串长度，此时说明匹配成功，返回i
            if (j == tgtLength) return i;
        }
        //遍历完了，都没找到，返回-1
        return -1;
    }
}
